/* 
 * @company: BlueInsight
 * @author: lxs
 * @date: 2018年10月4日
 */
package com.cedar.model.Decorator;

/**
 * @FileName: 装饰模式
 * @author: lxs
 * @date: 2018年10月4日
 * @Description: 
 * 装饰器模式的应用场景：
 * a、需要扩展一个类的功能。
 * b、动态的为一个对象增加功能，而且还能动态撤销。（继承不能做到这一点，继承的功能是静态的，不能动态增删。）
 * 缺点：产生过多相似的对象，不易排错！
 */
public class DecoratorTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Source source = new Source();
        Sourceable decorator = new Decorator(source);
        decorator.method();
    }

}
